package leetcode.heap;

import java.util.PriorityQueue;

/**
 * 
 * @Title: Solution215.java 
 * @Package leetcode.heap 
 * @Description: 215. 数组中的第K个最大元素
 * @author CandyWall   
 * @date 2021年1月9日 下午12:43:50 
 * @version V1.0
 */
public class Solution215 {
    public int findKthLargest(int[] nums, int k) {
        // 使用最小堆
        PriorityQueue<Integer> queue = new PriorityQueue<>();
        for(int i = 0; i < k; i++) {
            queue.add(nums[i]);
        }
        for(int i = k; i < nums.length; i++) {
            if(!queue.isEmpty() && nums[i] > queue.peek()) {
                queue.remove();
                queue.add(nums[i]);
            }
        }
        return queue.peek();
    }
}
